package LogisticsSystem.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class OrdersExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public OrdersExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOIdIsNull() {
            addCriterion("o_id is null");
            return (Criteria) this;
        }

        public Criteria andOIdIsNotNull() {
            addCriterion("o_id is not null");
            return (Criteria) this;
        }

        public Criteria andOIdEqualTo(Integer value) {
            addCriterion("o_id =", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdNotEqualTo(Integer value) {
            addCriterion("o_id <>", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdGreaterThan(Integer value) {
            addCriterion("o_id >", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("o_id >=", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdLessThan(Integer value) {
            addCriterion("o_id <", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdLessThanOrEqualTo(Integer value) {
            addCriterion("o_id <=", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdIn(List<Integer> values) {
            addCriterion("o_id in", values, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdNotIn(List<Integer> values) {
            addCriterion("o_id not in", values, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdBetween(Integer value1, Integer value2) {
            addCriterion("o_id between", value1, value2, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdNotBetween(Integer value1, Integer value2) {
            addCriterion("o_id not between", value1, value2, "oId");
            return (Criteria) this;
        }

        public Criteria andODateIsNull() {
            addCriterion("o_date is null");
            return (Criteria) this;
        }

        public Criteria andODateIsNotNull() {
            addCriterion("o_date is not null");
            return (Criteria) this;
        }

        public Criteria andODateEqualTo(Date value) {
            addCriterion("o_date =", value, "oDate");
            return (Criteria) this;
        }

        public Criteria andODateNotEqualTo(Date value) {
            addCriterion("o_date <>", value, "oDate");
            return (Criteria) this;
        }

        public Criteria andODateGreaterThan(Date value) {
            addCriterion("o_date >", value, "oDate");
            return (Criteria) this;
        }

        public Criteria andODateGreaterThanOrEqualTo(Date value) {
            addCriterion("o_date >=", value, "oDate");
            return (Criteria) this;
        }

        public Criteria andODateLessThan(Date value) {
            addCriterion("o_date <", value, "oDate");
            return (Criteria) this;
        }

        public Criteria andODateLessThanOrEqualTo(Date value) {
            addCriterion("o_date <=", value, "oDate");
            return (Criteria) this;
        }

        public Criteria andODateIn(List<Date> values) {
            addCriterion("o_date in", values, "oDate");
            return (Criteria) this;
        }

        public Criteria andODateNotIn(List<Date> values) {
            addCriterion("o_date not in", values, "oDate");
            return (Criteria) this;
        }

        public Criteria andODateBetween(Date value1, Date value2) {
            addCriterion("o_date between", value1, value2, "oDate");
            return (Criteria) this;
        }

        public Criteria andODateNotBetween(Date value1, Date value2) {
            addCriterion("o_date not between", value1, value2, "oDate");
            return (Criteria) this;
        }

        public Criteria andOSendDateIsNull() {
            addCriterion("o_send_date is null");
            return (Criteria) this;
        }

        public Criteria andOSendDateIsNotNull() {
            addCriterion("o_send_date is not null");
            return (Criteria) this;
        }

        public Criteria andOSendDateEqualTo(Date value) {
            addCriterion("o_send_date =", value, "oSendDate");
            return (Criteria) this;
        }

        public Criteria andOSendDateNotEqualTo(Date value) {
            addCriterion("o_send_date <>", value, "oSendDate");
            return (Criteria) this;
        }

        public Criteria andOSendDateGreaterThan(Date value) {
            addCriterion("o_send_date >", value, "oSendDate");
            return (Criteria) this;
        }

        public Criteria andOSendDateGreaterThanOrEqualTo(Date value) {
            addCriterion("o_send_date >=", value, "oSendDate");
            return (Criteria) this;
        }

        public Criteria andOSendDateLessThan(Date value) {
            addCriterion("o_send_date <", value, "oSendDate");
            return (Criteria) this;
        }

        public Criteria andOSendDateLessThanOrEqualTo(Date value) {
            addCriterion("o_send_date <=", value, "oSendDate");
            return (Criteria) this;
        }

        public Criteria andOSendDateIn(List<Date> values) {
            addCriterion("o_send_date in", values, "oSendDate");
            return (Criteria) this;
        }

        public Criteria andOSendDateNotIn(List<Date> values) {
            addCriterion("o_send_date not in", values, "oSendDate");
            return (Criteria) this;
        }

        public Criteria andOSendDateBetween(Date value1, Date value2) {
            addCriterion("o_send_date between", value1, value2, "oSendDate");
            return (Criteria) this;
        }

        public Criteria andOSendDateNotBetween(Date value1, Date value2) {
            addCriterion("o_send_date not between", value1, value2, "oSendDate");
            return (Criteria) this;
        }

        public Criteria andOSupvalueIsNull() {
            addCriterion("o_supvalue is null");
            return (Criteria) this;
        }

        public Criteria andOSupvalueIsNotNull() {
            addCriterion("o_supvalue is not null");
            return (Criteria) this;
        }

        public Criteria andOSupvalueEqualTo(Float value) {
            addCriterion("o_supvalue =", value, "oSupvalue");
            return (Criteria) this;
        }

        public Criteria andOSupvalueNotEqualTo(Float value) {
            addCriterion("o_supvalue <>", value, "oSupvalue");
            return (Criteria) this;
        }

        public Criteria andOSupvalueGreaterThan(Float value) {
            addCriterion("o_supvalue >", value, "oSupvalue");
            return (Criteria) this;
        }

        public Criteria andOSupvalueGreaterThanOrEqualTo(Float value) {
            addCriterion("o_supvalue >=", value, "oSupvalue");
            return (Criteria) this;
        }

        public Criteria andOSupvalueLessThan(Float value) {
            addCriterion("o_supvalue <", value, "oSupvalue");
            return (Criteria) this;
        }

        public Criteria andOSupvalueLessThanOrEqualTo(Float value) {
            addCriterion("o_supvalue <=", value, "oSupvalue");
            return (Criteria) this;
        }

        public Criteria andOSupvalueIn(List<Float> values) {
            addCriterion("o_supvalue in", values, "oSupvalue");
            return (Criteria) this;
        }

        public Criteria andOSupvalueNotIn(List<Float> values) {
            addCriterion("o_supvalue not in", values, "oSupvalue");
            return (Criteria) this;
        }

        public Criteria andOSupvalueBetween(Float value1, Float value2) {
            addCriterion("o_supvalue between", value1, value2, "oSupvalue");
            return (Criteria) this;
        }

        public Criteria andOSupvalueNotBetween(Float value1, Float value2) {
            addCriterion("o_supvalue not between", value1, value2, "oSupvalue");
            return (Criteria) this;
        }

        public Criteria andOFeetypeIsNull() {
            addCriterion("o_feeType is null");
            return (Criteria) this;
        }

        public Criteria andOFeetypeIsNotNull() {
            addCriterion("o_feeType is not null");
            return (Criteria) this;
        }

        public Criteria andOFeetypeEqualTo(String value) {
            addCriterion("o_feeType =", value, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeNotEqualTo(String value) {
            addCriterion("o_feeType <>", value, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeGreaterThan(String value) {
            addCriterion("o_feeType >", value, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeGreaterThanOrEqualTo(String value) {
            addCriterion("o_feeType >=", value, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeLessThan(String value) {
            addCriterion("o_feeType <", value, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeLessThanOrEqualTo(String value) {
            addCriterion("o_feeType <=", value, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeLike(String value) {
            addCriterion("o_feeType like", value, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeNotLike(String value) {
            addCriterion("o_feeType not like", value, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeIn(List<String> values) {
            addCriterion("o_feeType in", values, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeNotIn(List<String> values) {
            addCriterion("o_feeType not in", values, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeBetween(String value1, String value2) {
            addCriterion("o_feeType between", value1, value2, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOFeetypeNotBetween(String value1, String value2) {
            addCriterion("o_feeType not between", value1, value2, "oFeetype");
            return (Criteria) this;
        }

        public Criteria andOStatusIsNull() {
            addCriterion("o_status is null");
            return (Criteria) this;
        }

        public Criteria andOStatusIsNotNull() {
            addCriterion("o_status is not null");
            return (Criteria) this;
        }

        public Criteria andOStatusEqualTo(Integer value) {
            addCriterion("o_status =", value, "oStatus");
            return (Criteria) this;
        }

        public Criteria andOStatusNotEqualTo(Integer value) {
            addCriterion("o_status <>", value, "oStatus");
            return (Criteria) this;
        }

        public Criteria andOStatusGreaterThan(Integer value) {
            addCriterion("o_status >", value, "oStatus");
            return (Criteria) this;
        }

        public Criteria andOStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("o_status >=", value, "oStatus");
            return (Criteria) this;
        }

        public Criteria andOStatusLessThan(Integer value) {
            addCriterion("o_status <", value, "oStatus");
            return (Criteria) this;
        }

        public Criteria andOStatusLessThanOrEqualTo(Integer value) {
            addCriterion("o_status <=", value, "oStatus");
            return (Criteria) this;
        }

        public Criteria andOStatusIn(List<Integer> values) {
            addCriterion("o_status in", values, "oStatus");
            return (Criteria) this;
        }

        public Criteria andOStatusNotIn(List<Integer> values) {
            addCriterion("o_status not in", values, "oStatus");
            return (Criteria) this;
        }

        public Criteria andOStatusBetween(Integer value1, Integer value2) {
            addCriterion("o_status between", value1, value2, "oStatus");
            return (Criteria) this;
        }

        public Criteria andOStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("o_status not between", value1, value2, "oStatus");
            return (Criteria) this;
        }

        public Criteria andOPaytypeIsNull() {
            addCriterion("o_payType is null");
            return (Criteria) this;
        }

        public Criteria andOPaytypeIsNotNull() {
            addCriterion("o_payType is not null");
            return (Criteria) this;
        }

        public Criteria andOPaytypeEqualTo(Integer value) {
            addCriterion("o_payType =", value, "oPaytype");
            return (Criteria) this;
        }

        public Criteria andOPaytypeNotEqualTo(Integer value) {
            addCriterion("o_payType <>", value, "oPaytype");
            return (Criteria) this;
        }

        public Criteria andOPaytypeGreaterThan(Integer value) {
            addCriterion("o_payType >", value, "oPaytype");
            return (Criteria) this;
        }

        public Criteria andOPaytypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("o_payType >=", value, "oPaytype");
            return (Criteria) this;
        }

        public Criteria andOPaytypeLessThan(Integer value) {
            addCriterion("o_payType <", value, "oPaytype");
            return (Criteria) this;
        }

        public Criteria andOPaytypeLessThanOrEqualTo(Integer value) {
            addCriterion("o_payType <=", value, "oPaytype");
            return (Criteria) this;
        }

        public Criteria andOPaytypeIn(List<Integer> values) {
            addCriterion("o_payType in", values, "oPaytype");
            return (Criteria) this;
        }

        public Criteria andOPaytypeNotIn(List<Integer> values) {
            addCriterion("o_payType not in", values, "oPaytype");
            return (Criteria) this;
        }

        public Criteria andOPaytypeBetween(Integer value1, Integer value2) {
            addCriterion("o_payType between", value1, value2, "oPaytype");
            return (Criteria) this;
        }

        public Criteria andOPaytypeNotBetween(Integer value1, Integer value2) {
            addCriterion("o_payType not between", value1, value2, "oPaytype");
            return (Criteria) this;
        }

        public Criteria andORIdIsNull() {
            addCriterion("o_r_id is null");
            return (Criteria) this;
        }

        public Criteria andORIdIsNotNull() {
            addCriterion("o_r_id is not null");
            return (Criteria) this;
        }

        public Criteria andORIdEqualTo(Integer value) {
            addCriterion("o_r_id =", value, "oRId");
            return (Criteria) this;
        }

        public Criteria andORIdNotEqualTo(Integer value) {
            addCriterion("o_r_id <>", value, "oRId");
            return (Criteria) this;
        }

        public Criteria andORIdGreaterThan(Integer value) {
            addCriterion("o_r_id >", value, "oRId");
            return (Criteria) this;
        }

        public Criteria andORIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("o_r_id >=", value, "oRId");
            return (Criteria) this;
        }

        public Criteria andORIdLessThan(Integer value) {
            addCriterion("o_r_id <", value, "oRId");
            return (Criteria) this;
        }

        public Criteria andORIdLessThanOrEqualTo(Integer value) {
            addCriterion("o_r_id <=", value, "oRId");
            return (Criteria) this;
        }

        public Criteria andORIdIn(List<Integer> values) {
            addCriterion("o_r_id in", values, "oRId");
            return (Criteria) this;
        }

        public Criteria andORIdNotIn(List<Integer> values) {
            addCriterion("o_r_id not in", values, "oRId");
            return (Criteria) this;
        }

        public Criteria andORIdBetween(Integer value1, Integer value2) {
            addCriterion("o_r_id between", value1, value2, "oRId");
            return (Criteria) this;
        }

        public Criteria andORIdNotBetween(Integer value1, Integer value2) {
            addCriterion("o_r_id not between", value1, value2, "oRId");
            return (Criteria) this;
        }

        public Criteria andCIdIsNull() {
            addCriterion("c_id is null");
            return (Criteria) this;
        }

        public Criteria andCIdIsNotNull() {
            addCriterion("c_id is not null");
            return (Criteria) this;
        }

        public Criteria andCIdEqualTo(Integer value) {
            addCriterion("c_id =", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotEqualTo(Integer value) {
            addCriterion("c_id <>", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdGreaterThan(Integer value) {
            addCriterion("c_id >", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("c_id >=", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdLessThan(Integer value) {
            addCriterion("c_id <", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdLessThanOrEqualTo(Integer value) {
            addCriterion("c_id <=", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdIn(List<Integer> values) {
            addCriterion("c_id in", values, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotIn(List<Integer> values) {
            addCriterion("c_id not in", values, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdBetween(Integer value1, Integer value2) {
            addCriterion("c_id between", value1, value2, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotBetween(Integer value1, Integer value2) {
            addCriterion("c_id not between", value1, value2, "cId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}